/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sico.modelo;

/**
 *
 * @author John Carlos Arrieta
 */
import java.util.*;


// operaciones de negocio
public class EntidadEmpleado implements IEntidad{
 // atributos o variabls globales
 private String codigo;
 private String nombre;
 private String cargo;
 private int salario;
 private EntidadContrato contrato;

// contructores
 public EntidadEmpleado( ){

}

    public EntidadEmpleado(String codigo, String nombre, String cargo, int salario, EntidadContrato contrato) {
        this.codigo = codigo;
        this.nombre = nombre;
        this.cargo = cargo;
        this.salario = salario;
        this.contrato = contrato;
    }

 //...

// setter y getter

public void setSalario(int nuevoSalario){
 this.salario = nuevoSalario; // ojo, validar el valor a cambiar, no - o +
 }

public int getSalario( ){
 return this.salario;  // ojo, validar valor a devolver
 }

    public String getCargo() {
        return cargo;
    }

    public void setCargo(String cargo) {
        this.cargo = cargo;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public EntidadContrato getContrato() {
        return contrato;
    }

    public void setContrato(EntidadContrato contrato) {
        this.contrato = contrato;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

 //...

// implementacion de la interfaz Entidad

    public boolean comparar( IEntidad objeto) {
            EntidadEmpleado empleado = (EntidadEmpleado ) objeto;
            if ( empleado.getCodigo().equals( this.getCodigo()) ){
                    return true;
              }
            return false;
    }

    public long calcularDiasParaTerminarContrato( ){
         Calendar calendario = GregorianCalendar.getInstance();
         Date fechaActual = new Date();
         Date fechaFin =this.getContrato().getFin();
         System.out.println("Fin contrato:"+fechaFin);
         long tiempo = fechaFin.getTime() - fechaActual.getTime();
         long diasQueFaltan =  (tiempo / 86400000 ) ;
         return diasQueFaltan;
     }
 //...
 }


